let flag = false, flag1 = false, flag2 = false, flag3 = false;

// 手机号判断
$('.phonenumber').oninput = function () {
    const phonenumber = this.value;
    // 空
    if (/^.{0}$/.test(phonenumber)) {
        flag = false;
        $('.phoneNumberSpan').innerHTML = '不能为空';
        $('.phoneNumberSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 数字开头
    if (!/^\d/.test(phonenumber)) {
        flag = false;
        $('.phoneNumberSpan').innerHTML = '不能填写除数字外的字符';
        $('.phoneNumberSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 用户名长度
    if (!/^[1][3,4,5,7,8,9][0-9]{9}$/.test(phonenumber)) {
        flag = false;
        $('.phoneNumberSpan').innerHTML = '号码不合法';
        $('.phoneNumberSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }

    flag = true;
    $('.phoneNumberSpan').innerHTML = '√';
    $('.phoneNumberSpan').style.color = 'green';
    if (flag && flag1 && flag2 && flag3) {
        $('#lgb_ce').disabled = false;
    } else {
        $('#lgb_ce').disabled = true;
    }
}



$('.username').oninput = function () {
    const username = this.value;
    // 空
    if (/^.{0}$/.test(username)) {
        flag1 = false;
        $('.userSpan').innerHTML = '不能为空';
        $('.userSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 数字开头
    if (/^\d/.test(username)) {
        flag1 = false;
        $('.userSpan').innerHTML = '数字不能开头';
        $('.userSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 非法   
    if (/\W/.test(username)) {
        flag1 = false;
        $('.userSpan').innerHTML = '非法';
        $('.userSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 用户名长度
    if (!/^\w{1,12}$/.test(username)) {
        flag1 = false;
        $('.userSpan').innerHTML = '用户名过长';
        $('.userSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }

    flag1 = true;
    $('.userSpan').innerHTML = '√';
    $('.userSpan').style.color = 'green';
    if (flag && flag1 && flag2 && flag3) {
        $('#lgb_ce').disabled = false;
    } else {
        $('#lgb_ce').disabled = true;
    }
}

$('.password').oninput = function () {
    const password = this.value;
    // 空
    if (/^.{0}$/.test(password)) {
        flag2 = false;
        $('.passwordSpan').innerHTML = '不能为空';
        $('.passwordSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 非法   
    if (/\W/.test(password)) {
        flag2 = false;
        $('.passwordSpan').innerHTML = '非法';
        $('.passwordSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    // 密码长度
    if (!/^\w{6,12}$/.test(password)) {
        flag2 = false;
        $('.passwordSpan').innerHTML = '密码长度请输6~12位';
        $('.passwordSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }

    flag2 = true;
    $('.passwordSpan').innerHTML = '√';
    $('.passwordSpan').style.color = 'green';
    if (flag && flag1 && flag2 && flag3) {
        $('#lgb_ce').disabled = false;
    } else {
        $('#lgb_ce').disabled = true;
    }
}




$('.code').oninput = function () {
    const codeValue = this.value;

    // 填写验证码
    //    验证码为空
    if (codeValue === '') {
        flag3 = false;
        $('.codeSpan').innerHTML = '请输入验证码';
        $('.codeSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }
    //    验证码输入判断--不区分大小写
    if (codeValue.toLowerCase() !== $('.showCode').innerHTML.toLowerCase()) {
        flag3 = false;
        $('.codeSpan').innerHTML = '验证码输入错误';
        $('.codeSpan').style.color = 'red';
        if (flag && flag1 && flag2 && flag3) {
            $('#lgb_ce').disabled = false;
        } else {
            $('#lgb_ce').disabled = true;
        }
        return
    }

    flag3 = true;
    $('.codeSpan').innerHTML = '√';
    $('.codeSpan').style.color = 'green';
    if (flag && flag1 && flag2 && flag3) {
        $('#lgb_ce').disabled = false;
    } else {
        $('#lgb_ce').disabled = true;
    }
}



const numArr = [];
for (let i = 0; i < 10; i++) {
    numArr.push(i + '')
}
console.log(numArr);

const smallArr = [];
for (let i = 97; i <= 122; i++) {
    const str = String.fromCharCode(i);
    smallArr.push(str)
}
console.log(smallArr);

const bigArr = [];
for (let i = 65; i <= 90; i++) {
    const str = String.fromCharCode(i);
    bigArr.push(str)
}
console.log(bigArr);

const allArr = smallArr.concat(numArr, bigArr);
console.log(allArr);



//随机验证码
// 6为函数 suiJiCode 实参值
$('.showCode').innerHTML = suiJiCode(6);


function suiJiCode(n) {
    // 给默认值
    n = n || 4;

    let res = '';
    res += numArr[rand(0, numArr.length)];
    res += smallArr[rand(0, smallArr.length)];
    res += bigArr[rand(0, bigArr.length)];
    for (let i = 0; i < n - 3; i++) {
        res += allArr[rand(0, allArr.length)];
    }
    // 字符串无法交换顺序
    let arr = res.split('');
    console.log(arr);
    // 交换次数至少n次
    for (let i = 0; i < arr.length; i++) {
        let index = rand(0, arr.length);
        [arr[i], arr[index]] = [arr[index], arr[i]];
        console.log(arr[i], arr[index]);
    }
    console.log(arr);
    return arr.join('');

}


// 绑定验证码点击刷新事件
$('.showCode').onclick = function () {
    $('.showCode').innerHTML = suiJiCode(6);
    $('.code').value = '';
    $('#lgb_ce').disabled = true;
    $('.codeSpan').innerHTML = '请输入验证码';
    $('.codeSpan').style.color = '#757575;'
}

function rand(min, max) {
    return parseInt(Math.random() * (max - min)) + min;
}






// $('#lgb_ce').onclick = async function () {
//     const phonenumber = $('.phonenumber').value;
//     const username = $('.username').value;
//     const password = $('.password').value;
//     console.log(password);
//     const res = await register({
//         phonenumber,
//         username,
//         password
//     })
//     console.log(res);
//     const { status, msg } = res;
//     if (status) {
//         alert(msg);
//         $('.register').style.display = 'none';
//         $('.login').style.display = 'block';
//     } else {
//         alert(msg);
//     }
// }